<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of AgentCategory
 *
 * @author LeVinh
 */
include_once APPLICATION_PATH."/models/Agent_Category.php";
include_once APPLICATION_PATH."/models/Agent.php";

class Admin_AgentcategoryController extends Zend_Controller_Action{
    //put your code here
    public function init() {
        $bootstrap = $this->getInvokeArg("bootstrap");
        $this->aConfig = $bootstrap->getOptions();
        $this->view->aConfig = $this->aConfig;
        $this->model = new Model_Agent_Category();
        $this->modelMapper = new Model_Agent_CategoryMapper();
        $this->AgentmodelMapper = new Model_AgentMapper();
    }
    public function indexAction() {}
    public function listAction() {}
    
    public function serviceAction(){
        $status_filter = $this->_getParam("status","0");
        $this->_helper->layout->disableLayout();            
        foreach ($this->modelMapper->fetchAll() as $items ) 
        {                            
            if($status_filter=="1" && $items->getStatus()=="1")
            {    
                $menber[]=array(
                    'id'=>$items->getId(),
                    'name'=>$items->getName(),                                   
                    'order'=>$items->getOrder()                   
                ); 
            }
            else if($status_filter=="0")
            {
                $menber[]=array(
                    'id'=>$items->getId(),
                    'name'=>$items->getName(),                                   
                    'order'=>$items->getOrder(),
                    'status'=>$items->getStatus()
                );  
            } 
        }
        echo json_encode($menber);
        exit();
    }
    
    public function addAction()
    {
        if ($this->getRequest()->isPost()) {   
            $redirectUrl = $this->aConfig["site"]["url"] . "/admin/agentcategory/list";
            if (isset($_POST["id"])) {
                $this->model->setId($_POST["id"]);
            }
            if (isset($_POST["name"])) {
                $this->model->setName($_POST["name"]);
            }            
            if (isset($_POST["order"])) {
                $this->model->setOrder($_POST["order"]);
            }
            if (isset($_POST["status"])) {
                $status = 1;
            } else {
                $status = 0;
            }            
            $this->model->setStatus($status);
            $this->model->setCreated(date("Y/m/d H:i:s"));
            $this->model->setCreated_By(GlobalLib::getLoginId());
            $this->model->setModified(date("Y/m/d H:i:s"));
            $this->model->setModified_By(GlobalLib::getLoginId());
            $this->modelMapper->save($this->model);
            $this->_redirect($redirectUrl);
        }
        $this->view->item = $this->model;
    }    
    public function editAction() {
        $id= $this->_getParam("id","");
        $redirectUrl=$this->aConfig["site"]["url"]."admin/agentcategory/list";
        if(empty($id)){
            $this->_redirect($redirectUrl);
        }
        $this->modelMapper->find($id,$this->model);
        $getId=$this->model->getId();
        if(empty($getId)){
             $this->_redirect($redirectUrl);
        }
        if($this->getRequest()->isPost()){
            if(isset($_POST["id"])){
                $this->model->setId($_POST["id"]);
            }
            if(isset($_POST["name"])){
                $this->model->setName($_POST["name"]);
            }
            if(isset($_POST["order"])){
                $this->model->setOrder($_POST["order"]);
            }
            if(isset($_POST["status"])){
                $status=1;
            } else {
                $status=0;
            }                   
            $this->model->setStatus($status);
            $this->model->setModified(date("Y/m/d H:i:s"));
            $this->model->setModified_By(GlobalLib::getLoginId());
            $this->modelMapper->save($this->model);
            $this->_redirect($redirectUrl);
        }        
        $this->view->item=$this->model;
    }
    
    public function confirmdeleteAction()
    {
        $id = $this->_getParam("id","0");
        $count = 0;
        foreach($this->AgentmodelMapper->fetchAll() as $item)
        {
            if($item->getAgent_Cat_Id()==$id) $count= $count+1;
        }
        echo $count;
        exit();
    }
    public function deleteAction(){
        $id= $this->_getParam("id","");
        $redirectUrl=$this->aConfig["site"]["url"]."admin/agentcategory/list";               
        $this->modelMapper->delete($id);
        $this->_redirect($redirectUrl);
    }
}
